home *** CD-ROM | disk | FTP | other *** search
/ Robotics & Artificial Int…3 (Professional Edition) / Robotics & Artificial Intelligence Tools 2003 (Professional Edition).iso / robot software / webots-kros-1.0.1_setup.exe / {app} / kteam / include / machine / ieeefp.h < prev    next >
C/C++ Source or Header  |  1999-12-23  |  3KB  |  158 lines

  1. #ifndef __IEEE_BIG_ENDIAN
  2. #ifndef __IEEE_LITTLE_ENDIAN
  3.  
  4. #if defined(__arm__) || defined(__thumb__)
  5. /* ARM always has big-endian words.  Within those words the byte ordering
  6.    appears to be big or little endian.  Newlib doesn't seem to care about
  7.    the byte ordering within words.  */
  8. #define __IEEE_BIG_ENDIAN
  9. #endif
  10.  
  11. #ifdef __hppa__
  12. #define __IEEE_BIG_ENDIAN
  13. #endif
  14.  
  15. #ifdef __sparc__
  16. #ifdef __LITTLE_ENDIAN_DATA__
  17. #define __IEEE_LITTLE_ENDIAN
  18. #else
  19. #define __IEEE_BIG_ENDIAN
  20. #endif
  21. #endif
  22.  
  23. #if defined(__m68k__) || defined(__mc68000__)
  24. #define __IEEE_BIG_ENDIAN
  25. #endif
  26.  
  27. #if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
  28. #define __IEEE_BIG_ENDIAN
  29. #define __SMALL_BITFIELDS
  30. #define _DOUBLE_IS_32BITS
  31. #endif
  32.  
  33. #ifdef __H8500__
  34. #define __IEEE_BIG_ENDIAN
  35. #define __SMALL_BITFIELDS
  36. #define _DOUBLE_IS_32BITS
  37. #endif
  38.  
  39. #ifdef __sh__
  40. #ifdef __LITTLE_ENDIAN__
  41. #define __IEEE_LITTLE_ENDIAN
  42. #else
  43. #define __IEEE_BIG_ENDIAN
  44. #endif
  45. #if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
  46. #define _DOUBLE_IS_32BITS
  47. #endif
  48. #endif
  49.  
  50. #ifdef _AM29K
  51. #define __IEEE_BIG_ENDIAN
  52. #endif
  53.  
  54. #ifdef _WIN32
  55. #define __IEEE_LITTLE_ENDIAN
  56. #endif
  57.  
  58. #ifdef __i386__
  59. #define __IEEE_LITTLE_ENDIAN
  60. #endif
  61.  
  62. #ifdef __i960__
  63. #define __IEEE_LITTLE_ENDIAN
  64. #endif
  65.  
  66. #ifdef __M32R__
  67. #define __IEEE_BIG_ENDIAN
  68. #endif
  69.  
  70. #ifdef __TIC80__
  71. #define __IEEE_LITTLE_ENDIAN
  72. #endif
  73.  
  74. #ifdef __MIPSEL__
  75. #define __IEEE_LITTLE_ENDIAN
  76. #endif
  77. #ifdef __MIPSEB__
  78. #define __IEEE_BIG_ENDIAN
  79. #endif
  80.  
  81. /* necv70 was __IEEE_LITTLE_ENDIAN. */
  82.  
  83. #ifdef __W65__
  84. #define __IEEE_LITTLE_ENDIAN
  85. #define __SMALL_BITFIELDS
  86. #define _DOUBLE_IS_32BITS
  87. #endif
  88.  
  89. #if defined(__Z8001__) || defined(__Z8002__)
  90. #define __IEEE_BIG_ENDIAN
  91. #endif
  92.  
  93. #ifdef __m88k__
  94. #define __IEEE_BIG_ENDIAN
  95. #endif
  96.  
  97. #ifdef __mn10300__
  98. #define __IEEE_LITTLE_ENDIAN
  99. #endif
  100.  
  101. #ifdef __mn10200__
  102. #define __IEEE_LITTLE_ENDIAN
  103. #define __SMALL_BITFIELDS
  104. #define _DOUBLE_IS_32BITS
  105. #endif
  106.  
  107. #ifdef __v800
  108. #define __IEEE_LITTLE_ENDIAN
  109. #endif
  110.  
  111. #ifdef __v850
  112. #define __IEEE_LITTLE_ENDIAN
  113. #endif
  114.  
  115. #ifdef __D10V__
  116. #define __IEEE_BIG_ENDIAN
  117. #define _DOUBLE_IS_32BITS
  118. #define __SMALL_BITFIELDS
  119. #endif
  120.  
  121. #ifdef __PPC__
  122. #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
  123. #define __IEEE_BIG_ENDIAN
  124. #else
  125. #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32)
  126. #define __IEEE_LITTLE_ENDIAN
  127. #endif
  128. #endif
  129. #endif
  130.  
  131. #ifdef __arc__
  132. #ifdef __big_endian__
  133. #define __IEEE_BIG_ENDIAN
  134. #else
  135. #define __IEEE_LITTLE_ENDIAN
  136. #endif
  137. #endif
  138.  
  139. #ifdef __fr30__
  140. #define __IEEE_BIG_ENDIAN
  141. #endif
  142.  
  143. #ifdef __mcore__
  144. #define __IEEE_BIG_ENDIAN
  145. #endif
  146.  
  147.  
  148.  
  149. #ifndef __IEEE_BIG_ENDIAN
  150. #ifndef __IEEE_LITTLE_ENDIAN
  151. #error Endianess not declared!!
  152. #endif /* not __IEEE_LITTLE_ENDIAN */
  153. #endif /* not __IEEE_BIG_ENDIAN */
  154.  
  155. #endif /* not __IEEE_LITTLE_ENDIAN */
  156. #endif /* not __IEEE_BIG_ENDIAN */
  157.  
  158.